Skip to main content

React Native SDK

针对于SDK 3.0 上的 RN 插件,当前仅支持埋点sdk。

源码托管在 growingio/react-native-growingio-sdk-tracker-plugin


环境配置

info

请确保原生工程中已经添加原生埋点SDK, 如果没有, 请移步至原生端埋点SDK集成文档: Android 埋点SDKiOS 埋点SDK

React Native SDK集成

添加依赖

$ npm install react-native-growing-tracker@1.0.1-cdp --save

自动安装

info

React Native 0.6.0版本及其以上可以跳过该步骤

$ react-native link react-native-growing-tracker

使用本地模块安装 (进行自定义修改)
  1. git clone 插件仓库
git clone git@github.com:growingio/react-native-growingio-sdk-tracker-plugin.git
git checkout cdp
  1. 在项目的package.json中添加对应模块
"dependencies": {
...
"react-native-growing-tracker": "file:path/react-native-growingio-sdk-tracker-plugin"
},
  1. 获取依赖
yarn
  1. 执行项目
react-native run-ios
react-native run-android

手动安装

iOS
  1. 打开Xcode,在您的工程目录中点击 LibrariesAdd Files to [your project's name]
  2. 选择添加 node_modules ➜ react-native-growingio-tracker ➜ RNGrowingTracker.xcodeproj
  3. 选择您的目标项目, Build PhasesLink Binary With Libraries添加 libRNGrowingTracker.a
  4. 运行项目 (Cmd+R)
Android
  1. 打开您的首页Activity android/app/src/main/java/[...]/MainActivity.java
  • 导入包文件 com.reactnativegrowingtracker.GrowingTrackerPackage;
  • getPackages() 方法中添加 new GrowingTrackerPackage()
  1. 引入Android Native工程 android/settings.gradle:
    include ':reactnativegrowingtracker'
    project(':reactnativegrowingtracker').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-growing-tracker//android')
  2. 在app中添加Android Native依赖 android/app/build.gradle:
    implementation project(':reactnativegrowingtracker')

引入到文件

import GrowingTracker from 'react-native-growing-tracker';

// TODO: What to do with the module?
GrowingTracker;

API说明

1. 设置登录用户ID

当用户登录之后调用 setLoginUserId ,设置登录用户ID

info
  • 如果您的App每次用户升级版本时无需重新登录的话,为防止用户本地缓存被清除导致的无法被识别为登录用户,建议在用户每次升级App版本后初次访问时重新调用setLoginUserId方法

  • 当需要标记用户ID类型时,请先进行规划,并在平台的数据中心,添加新的用户身份类型,再设置userkey,误设会影响数据质量。 同时在初始化 SDK 时设置idMappingEnabledtrue

参数说明

参数名类型必填默认值说明
userIdstringundefine设置登录用户标识

代码示例

GrowingTracker.setLoginUserId('112333445');

2. 清除登录用户ID

当用户登出之后调用 cleanLoginUserId,清除已经设置的登录用户ID

代码示例

GrowingTracker.cleanLoginUserId();

3. 设置用户地理位置

设置用户当前的地理位置,基于WGS-84坐标

参数说明

参数名类型必填默认值说明
latitudenumberundefine设置纬度
longitudenumberundefine设置经度

代码示例

GrowingTracker.setLocation(100.0, 100.0);

4. 清除用户的地理位置

清除用户当前的地理位置

代码示例

GrowingTracker.cleanLocation();

5. 获取设备ID

获取设备ID,又称为匿名用户ID,SDK 自动生成用来定义唯一设备

代码示例

GrowingTracker.getDeviceId().then(setDeviceId);

6. 数据采集开关

打开或关闭数据采集

参数说明

参数名类型必填默认值说明
enabledbooleantrue是否采集数据

代码示例

GrowingTracker.setDataCollectionEnabled(true);

7. 埋点事件

发送一个埋点事件;注意:在添加发送的埋点事件代码之前,需在CDP平台事件管理界面创建埋点事件以及关联事件属性;
如果事件属性需关联维度表,请在事件属性下关联维度表( CDP平台版本>= 2.1 )。

参数说明

参数名类型必填默认值说明
eventNamestringundefine事件名,事件标识符
attributesobjectnull事件发生时所伴随的属性信息;当事件属性关联有维度表时,属性值为对应的维度表模型ID(记录ID)(可选)

代码示例

GrowingTracker.trackCustomEvent('trackCustomEvent(string)');
GrowingTracker.trackCustomEvent('trackCustomEvent(string)', {
key1: 'value1',
key2: 'value2',
});
info

详细使用示例:埋点事件示例

8. 设置登录用户属性

以登录用户的身份定义登录用户属性,用于用户信息相关分析。

参数说明

参数名类型必填默认值说明
attributesobjectundefine登录用户属性

代码示例

GrowingTracker.setLoginUserAttributes({
key1: 'value1',
key2: 'value2',
});
info

详细使用示例:用户属性事件示例